11 DEMON INTERNET LTD. =================== 42 Hendon Lane Finchley London N3 1TT 081-349 0063 (London) 031-552 0344 (Edinburgh) email internet@demon.net MODEM.TXT - INFORMATION ON CONFIGURING A MODEM FOR CONNECTING TO THE INTERNET Last updated 29th April 1994 The latest version of this document is available from ftp.demon.co.uk:/pub/doc/Modem.txt Contents ======== 1. General 2. Essentials 3. Telephone Exchange 4. Internal Modems 5. Which Phone Number 6. Modem and Telephone Leads 7. Serial Chips 8. Speed 9. Trouble Shooting 10. Software and Other Factors 11. Help for Specific Computers 11.1 IBM PC Compatibles running DOS 11.2 OS/2 12. Individual Modem Settings 12.1 US Robotics/Miracom 12.2 Supra 12.3 Yoriko 12.4 Zoom 13. Testing 14. Finally 1. General ========== This document will point out some general essentials and advice on setting up your modem. A section at the end discusses specifics regarding a DOS setup running the KA9Q NET.EXE program. Due to the vast combinations of computer and modem setups it is impossible to give specific help for all types. Making an Internet (IP - Internet Protocol) connection via a modem is very different from a standard dial-up connection. Do not assume that just because you can download from a BBS (and maybe upload) that you have your communication (comms) set-up 100% sorted out. Due to the nature of IP, if you get errors, throughput can be hit very badly. Under IP information is sent in packets and for maximum speed these should generally be as large as possible up to a maximum of about 1500 characters. If a packet gets messed up (garbled) its entire contents will have to be resent - hence a large speed degradation may occur. One exception to this is when an interactive sessions are sharing a TCP/IP link with more voluminous transfers such as NNTP or SMTP. In this case it can be preferable to have smaller transmission units (Maximum Transmission Units setting or MTU) so that keystrokes/screen updates will fit into the data stream with less delay. If a large MTU is used this can lead to what feels like a jerky or intermittent session. Enough of the technical parts, there follows some sound advice that everybody should take note of. 2. Essentials ============= Correct modem settings: full hardware handshaking (CTS/RTS), flow control, XON/XOFF set to off, settings must be bi- directional where appropriate. A full specification modem cable (open yours up - if it has only 3 wires it is no good). A serial chip that can cope with the high speeds (if using a high speed modem). Extended memory drivers and Terminate Stay Residents (TSRs) etc. can interfere with the handling of interrupts from serial chips. 3. Telephone Exchange ===================== The Demon Internet Service (DIS) is on modern digital exchanges so you should have little trouble with ringing tones etc when connecting to us. If you are on an older exchange, your modem may not recognise the dialling tone. If this happens, look in your manual and change the setting that overrides the dial tone recognition. Note that when you make changes to a modem's settings you should always reset the modem first, make the change and then save the settings. You will need a comms or "terminal emulation" package such as Telix, Procomm, Window's Terminal, Z- Term, Microphone etc. Look in your modem manual for instructions. Mostly you will be able to type ATZ to reset your modem. On a US Robotics/Miracom modem you could type: ATZ Reset the modem ATX3 Alter a setting AT&W Write the settings to Non-Volatile RAM (NVRAM) The last bit (AT&W) is useful as it means that when the modem is reset, it will remember the settings you have stored. If going through a private telephone network (or PABX) first, you will probably need to dial a number such as 9 to get an outside line. Make sure your dial string has this in. You may need to separate this from the number to dial by a separator such as a comma so that there is a pause to give your telephone system time to give you an outside line: 9,0813434848 4. Internal Modems ================== Internal modems have the advantage of not having a serial lead to worry about but the disadvantage of using an extra interrupt and generally don't have any lights to let you know what is going on. Ensure that the interrupt on which the modem sits does not interfere with any others - refer to the setup program for your computer and your modem manual. This may require altering a jumper (a small connector) on the main computer board (mother board) on your computer or on a separate board. This should be well documented and is well within the scope of the average user. Ensure that the modem is seated correctly in the expansion slot. 5. Which Phone Number ===================== We have multiple Points of Presence (PoPs) - please see /pub/doc/Demon.txt for details. Thus you will have a choice of numbers to ring. You may use any of our PoPs at any time. 6. Modem and Telephone Leads ============================ Your modem lead should be in good condition and preferably not wrapped in a tight circle or running parallel to high power cables etc. This will normally only affect longer runs and, as your cable should be earthed, will not often be a problem. The cable should be connected securely at both ends as should the telephone cable. If you suspect your telephone socket may be causing a problem then test it with a standard plug in telephone. Use the correct type of modem lead - they vary from country to country. 7. Serial Chips =============== The type of serial chip (Universal Asynchronous Receiver/Transmitter - UART) in use can make a big difference to comms performance/reliability. At higher speed the computer can sometimes not service the serial chip fast enough to catch all of the characters arriving down the line. This problem increases if running under a multi-tasker such as Windows, certain memory managers and other TSRs. 8. Speed ======== Close to every modem user's heart is the speed at which they can operate. There are two different speeds: the first is the speed at which a modem can talk to another modem; the second is the speed at which the modem can talk to its controlling computer (the DTE rate). Firstly, we will discuss the connect rate. A V.22bis modem can connect at a speed of 2,400 bits per second. There are 8 bits in a byte (a byte is usually one character) so that is a maximum of 300 characters per second (cps). Due to start and stop bits, each byte will take 10 bits reducing the speed to 240 characters per second. When running over IP there is a slight overhead and so you will never see this maximum. However, as you can (and will) have several things happening at once, you will be able to make very good use of your available bandwidth. Many modems have compression protocols built in to them. MNP/4 and V42 use synchronous connections to provide an error free connection between modems, saving the start and stop bits. This gives at least a 20% increase in throughput. V42bis adds compression, provided that the DTE rate is higher than the connection rate. This means that when downloading a plain text (or ASCII) file, it is possible to get faster speeds by compressing the data. The data is compressed so that the same information can be encoded in to a smaller space. The receiving modem will of course unscramble the data for you. If news normally flows in at say 200 cps, then, on a 2400 cps link, you have up to 44 cps left at the same time for mail, telnet'ing, ftp'ing etc. Compression techniques do not work as effectively on binary files and make very little difference to pre compressed files (such as .zip, .zoo, .lha etc.). Note that MNP5 will usually degrade throughput on an IP link due to the packet based nature of it's compression method. V42bis does not suffer this problem as it is capable of optimising itself dependent on the type of data being transferred. Now we will discuss the second speed - the speed at which the modem and computer communicate with each other. This is called the Data Terminal Equipment (DTE) rate. If you have a slow modem, e.g. a 2400 baud one without MNP or V42, then it will probably only work correctly when talked to by the computer at the same speed. For the facts on your particular modem and computer you should refer to your manuals. On faster modems you will only be able to take advantage of some of the compression features by making the computer talk to the modem at a faster speed than modem is talking to the remote modem down the telephone line. Thus you should talk to a 9600 modem at 19200 or even 38400. You should check the maximum speed at which the serial port on your modem can talk and then set your communication package to work at the highest mutually available speed. Don't forget that without a buffered UART you are unlikely to sustain reliable high speed comms above 9600 baud. Please note that we only support modems capable of V22bis (2400) and upwards. If you have a US Robotics/Miracom HST modem, you may not get very good throughput in HST mode. In practice HST mode is fine if FTP'ing from a site without anything else happening (sending mail etc.) as it works fine in one direction at a time only. 9. Trouble Shooting ==================== If you are getting garbled characters on the screen then something is wrong! Garbled characters are often a sign of mismatched speeds, lack of handshaking or a non-locked DTE rate. If you get as far as the login prompt but no further then make sure that your dialler script is working on 8 bit standard comms: 8 bits, no parity, 1 stop bit. See /pub/doc/Demon.txt for the full logon script details. Having checked your setup according to the information above, try reducing the speed at which the computer talks to the modem (if using a high speed modem) until the connection works. If you have to do this then either you are attempting to drive your computer or your modem at too high a speed, or you have other processes running which interfere with the correct running of your serial communications (as per Serial Chips above). If you have finished your live session and log off you may sometimes find that your phone line is not dropped. This can result in an unwelcome phone bill! There are a number of computer/software specific solutions to this problem and some answers are given in /pub/doc/Support.faq which may have been included in your installation. One thing to check on your modem is that the setting that makes the phone line drop when the computer tells the modem that it has finished, is on. The computer uses the serial port and drops DTR (Data Terminal Ready) and the modem spots this and hangs up the line. The setting often &D2 and you should read the section below which tells you how to set this. It is definitely &D2 for US Robotics, SupraFax and Dowty Quattro modems. There is a section below which specifically refers to problems that may be encountered by PC users. 10. Software and Other Factors ============================== By configuring your software correctly you can make significant improvements to an under performing communications connection. Things to check for include badly fragmented disks (run a disk de-fragmenter such as Norton's Speed Disk), no disk cache, no or insufficient buffering inside the software and unnecessary checking protocols or indexing taking place. Refer to your software's instructions for details on these. 11. Help for Specific Computers =============================== Some extra comments for some operating systems which may be of use follows. 11.1 IBM PC Compatibles running DOS =================================== In addition to the above info there is some specific advice below for those of you running DOS. Some modems send back "OK" when sent ATZ (the reset command) even though they are not ready. This means that the dialer program will try to ring out even though the modem is not ready. The effect is that you will see ATZ on the screen followed by OK and then the program will not dial. Eventually it will time out. To avoid this, send AT instead of ATZ in the modem initialisation string. Extended memory drivers can interfere with the correct operation of your serial communications. If you suspect this, rename your CONFIG.SYS and AUTOEXEC.BAT files and then reboot your computer to see if the connection improves. If you have a V.32bis 14,400 modem you will probably want to talk to it at 38,400. Unless you have a suitable serial chip then you will get errors and, as explained at the start of this document, this can seriously impact the throughput. When running NET.EXE you can type asystat at the net> prompt and information about your serial comms will be printed to the screen. The interesting parameter is the third one on the second line, 'hw over'. This shows how many hardware overruns (characters lost because they weren't fetched from the serial chip in time) have occurred. These overruns are usually due to lack of either a buffered UART or hardware handshaking. As already stated, for maximum performance you will need to have a buffered chip. For this you will need a 16550A - this is the number that is written on the chip. The asystat command will tell you if a 16550 is detected. Unfortunately, even top manufacturers overlook this area so it is quite likely that your chip is below par. If in doubt, open up your computer and locate the serial chip. If it is not a 16550 then it might need replacing. If you are handy with a soldering iron you could replace it, but this is not advisable unless you are really confident. If the chip is socketed then it can be removed and a 16550 (costing about #16 - we sell them) be put in its place. If not then you could buy an extra serial card with a 16550 already on it costing from around #30 to #70 depending on the specification. If you are using a standard serial port then the settings offered for COM1, 2, 3 or 4 in the configuration program in DIS.EXE will probably be fine. Otherwise you should refer to your manuals and enter the appropriate IRQ number and I/O base address. If you install an extra serial card then be aware that if you have, for example, a mouse on COM1 then you should not use COM3 for your modem using the default IRQ setting as they share the same interrupt. There is another factor that can impede throughput and that is software overruns. Using the NET.EXE software, at the net> prompt having just received some news or ftp'd a file, type asystat and look at the figure before sw over. If this is not 0 then you are getting software overruns. To fix this, increase the buffer size in the attach line near the top of autoexec.net: attach asy 0x3f8 4 ppp sl0 4096 1500 38400 Alter the 4096 in the above to be 8192, 12288 or higher until the software overruns are cured. 11.2 OS/2 ========= If intending to run the DIS DOS software in an OS/2 2.x DOS session you should get a copy of sio126c.exe and install the communications driver in it before running DIS. sio126c.zip is available on our ftp server or via our guest download account. This is because the standard communications drivers do not pass to DOS the buffering of your 16550A buffered serial chip. 12. Individual Modem Settings ============================= 12.1 Setting Up a US Robotics/Miracom Modem =========================================== To set up your modem, use a standard communications package. Type ATZ and see the response OK. Then continue to make the settings. You can type ati4 and ati5 to see what your current settings are. For connecting to Demon we recommend the following: B0 V.32bis modulation rather than HST C1 Transmitter enabled E1 Local echo ON F1 Duplex OFF receiving system sends duplicate data Q0 Result codes displayed V1 Display result codes in verbal (not numerical) mode &A3 Enable additional error control indicator &B1 Serial port remains at fixed setting &C1 Modem send CD (Carrier Detect) on connection &D2 Terminal sends DTR (Data Terminal Ready) &H1 Hardware CTS (Clear to Send) transmit data flow control &I0 Received Data software flow control disabled &K3 MNP 5 data compression disabled &N0 Variable link speed negotiation &R2 Received Data h/ware (RTS) flow controlled by computer &S1 Data Set Ready (DSR) controlled by the computer e.g. type AT&K3 . When done type AT&W to save the settings to Non Volatile Ram (NVRAM) so that they are remembered when the modem is reset. Some US Robotics occasionally mistake a System X (and Y?) ringing tone for a busy tone and hang up just as the Demon end answers. Sticking a pause on the end of the dialling sequence stops the modem's response long enough for the Demon end to start its negotiating sequence. This means that the confusing System X tone is ignored. If the Demon end is busy you just to wait a bit longer for the BUSY string, but not as long as the setting in S7. Add a pause by adding a comma to the end of the string. 12.2 Supra modems ================= Supra 14.4k fax modems need the ROM revision 1.70B (or later of course). Information providing features Enable all CONNECT, PROTOCOL & COMPRESSION mesgs: s95=41 loudspeaker control (low volume, on until carrier): l1m1 Modem/PC signals modems disconnects when DTR drops: &d2 DCD follows line carrier: &c1 Enable hardware flow control: &k3 Speed connection, reject bad lines new models, only make LAPM Reliable connections: \n4 old models, make AutoReliable connections: \n3 Disable negotiation, make V42 (LAPM) connection: s48=0 connect at highest shared data rate: n1 Compression new models, V.42bis (BTLZ) Enabled, (but not MNP): %C2 old models, enable data compression (BTLZ or MNP): s41=1 An initialisation string for this would be: ats95=41 l1m1&d2&c1&k3 \\n4 s48=0 n1 %C2 ^note the double '\' is needed if typing this into some dialer programs To put this into the modem's memory (NVRAM) type at&w 12.3 Yoriko modems ================== Yorikos work OK with a simple AT&F&C1&D2 set-up. 12.4 Zoltrix ============ These are one of our user's settings for a Zoltrix v32bis internal fax/modem. He writes: With X4, W1 and V1, I've managed to configure it very nicely to redial if the line's are busy after only 5 seconds, report CONNECT, PROTOCOL CARRIER, and BUSY The only bit I'm vaguely unsure about is, whether disabling compression (%c0 on mine), disables v42bis also, as I really only want to knock out MNP 5. &Q9 I think attempts v42bis, falls back to LAP-M+v42, then to normal. An annoying feature is that at&v only digs out probably a quarter of the settings - the '\' and '%' commands don't feature; some of them appear extremely useful: %Q for instance purportedly reports line signal quality, and %L received signal level, which I reckon might be relevant to one recent spate of postings, and you can tune up v42bis with others. S86 stores a connection failure cause code. OK at&v ACTIVE PROFILE: B0 E1 L0 M0 N1 Q0 T V1 W1 X4 Y0 &C1 &D2 &G0 &J0 &K3 &Q9 &R0 &S1 &T4 &X0 &Y0 S00:000 S01:000 S02:043 S03:013 S04:010 S05:008 S06:002 S07:060 S08:002 S09:006 S10:014 S11:095 S12:050 S18:000 S25:005 S26:001 S36:007 S37:000 S38:020 S44:003 S46:138 S48:007 S49:008 S50:255 12.5 Zoom modems ================ To force a Zoom modem to talk at only one speed: AT&Q6S37=11M0X3&K4 13. Testing =========== To test out your setup you could try using ping. ping gate.demon.co.uk whilst logged on directly to gate should return a speed of about 270ms on a fast link down to 1000ms on a slow link. Try using ftp to ftp.demon.co.uk and downloading files from /pub/test. There are files of varying contents that have also been compressed in various ways. "empty" files are there so that you can test the maximum throughput on blank data. "full" files contain a thorough mix of characters and so little compression by your modem will be possible. "regular" files are a mixture - just like this document or a Usenet news message. Each of these three have been compressed using popular methods and so you can try working on the compressed files as well if you like. Try uploading these files to ftp.demon.co.uk:/incoming to test the link in that direction as well. Using a V.32bis modem, the maximum throughput you are likely to get on a binary file is 1,600 cps. On an ASCII file the maximum is about 2,800 cps. 14. Finally =========== Please try to sort out your setup by following the above advice. If you are still stuck then telephone the support line on 081-343 3881 during support hours to see if further help can be offered. Full support line details are available in /pub/doc/Welcome.txt.